- 
                Notifications
    You must be signed in to change notification settings 
- Fork 34
Update FEMC for new geometry: #1848
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Adding switch between Homogeneous and ScFi geometry implementations based on xml file loaded - For Homogenous, we keep enrgy smeasring as is. SF=1.0 - For ScFi, hits from fibers are summed to a tower and no enrgy smearing applied. SF=0.03. Added option to put SiPM saturation to CalorimeterHitDigi - Specify 2 new parameters : totalPixel and nPhotonPerGeV - default for totalPixel is 0, which case no attenuation is applied For FEMC for both geometry models, SiPM saturation is ON by default - Use "-PFEMC:SiPMSaturation=OFF" to turn it off
| Please address the conflicts by performing a git rebase (preferably). As long as there are conflicts the automatic checks can't even start to run. | 
| Done | 
| As I understand, FEMC insert wil not be build. So it was removed from geometry and here FEMC factories. How can I remove it from auto checks? | 
| 
 Removing a detector would be something to do in a separate pr. | 
… to Homogeneous model (see https://www.star.bnl.gov/~akio/epic/reco/index.html) - Adding ScFi model's resolution smearing of 2.2% constant term based on high energy end (see https://www.star.bnl.gov/~akio/epic/reco/index.html) - Changing ADC threshold from 2 (~9MeV which was too low) to 3 (~15MeV as intended) - Rename an unfortunate variable name
for more information, see https://pre-commit.ci
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:105:39: note: insert an explicit cast to silence this issue
  105 |          .numEffectiveSipmPixels    = totalPixel},
      |                                       ^~~~~~~~~~
      |                                       static_cast<unsigned long long>( )
    for more information, see https://pre-commit.ci
 /home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:102:39: error: ISO C++ requires field designators to be specified in declaration order; field 'fields' will be initialized after field 'readoutType' [-Werror,-Wreorder-init-list]
  102 |          .readoutType               = "sipm",
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
    ```
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:78:39: error: ISO C++ requires field designators to be specified in declaration order; field 'readout' will be initialized after field 'readoutType' [-Werror,-Wreorder-init-list]
   78 |          .readoutType               = "sipm",
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:77:39: note: previous initialization for field 'readout' is here
   77 |          .readout                   = "EcalEndcapPHits",
      |                                       ^~~~~~~~~~~~~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:100:39: error: ISO C++ requires field designators to be specified in declaration order; field 'readout' will be initialized after field 'readoutType' [-Werror,-Wreorder-init-list]
  100 |          .readoutType               = "sipm",
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:99:39: note: previous initialization for field 'readout' is here
   99 |          .readout                   = "EcalEndcapPHits",
      |                                       ^~~~~~~~~~~~~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:102:39: error: ISO C++ requires field designators to be specified in declaration order; field 'fields' will be initialized after field 'lightYield' [-Werror,-Wreorder-init-list]
  102 |          .lightYield                = EcalEndcapP_nPhotonPerGeV / EcalEndcapP_PhotonCollectionEff,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/EICrecon/EICrecon/src/detectors/FEMC/FEMC.cc:101:39: note: previous initialization for field 'fields' is here
  101 |          .fields                    = {"fiberx", "fibery", "x", "y"},
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 errors generated.
```
    for more information, see https://pre-commit.ci
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clang-Tidy found issue(s) with the introduced code (1/1)
This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/18876404095. Please merge this PR into the branch `FEMCupdate20250501` to resolve failures in PR #1848. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
for more information, see https://pre-commit.ci
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clang-Tidy found issue(s) with the introduced code (1/1)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR applies the include-what-you-use fixes as suggested by https://github.com/eic/EICrecon/actions/runs/18878525598. Please merge this PR into the branch `FEMCupdate20250501` to resolve failures in PR #1848. Auto-generated by [create-pull-request][1] [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
No Clang-Tidy warnings found so I assume my comments were addressed
| Has this been tested at all? | 
| Ran out of time yesterday. I'll test this Friday. | 
Briefly, what does this PR introduce?
Following Forward EM calorimeter geometry update:
eic/epic#855
this provides switch between Homogeneous and ScFi geometry implementations based on xml file loaded
Added an option to put SiPM saturation to CalorimeterHitDigi
See following links for some more details:
https://www.star.bnl.gov/~akio/epic/geometry/index.html
https://www.star.bnl.gov/~akio/epic/reco/index.html
https://www.star.bnl.gov/~akio/epic/hadron/index.html
What kind of change does this PR introduce?
Please check if this PR fulfills the following:
Does this PR introduce breaking changes? What changes might users need to make to their code?
I don't think so, unless one provides wrong config xml file (until sum check in place)
Does this PR change default behavior?
It does apply SiPM attenuation by default for FEMC (but not other calorimeters).